package cn.classyex.business.hr.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 员工薪资管理对象 hr_employee_salary
 * 
 * @author yex
 * @date 2021-05-06
 */
public class EmployeeSalary extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 员工薪资id */
    private Long employeeSalaryId;

    /** 员工id */
    @Excel(name = "员工id")
    private Long employeeId;

    /** 员工名称 */
    @Excel(name = "员工名称")
    private String employeeName;

    /** 基本工资 */
    @Excel(name = "基本工资")
    private BigDecimal basicSalary;

    /** 奖金 */
    @Excel(name = "奖金")
    private BigDecimal bonus;

    /** 午餐补助 */
    @Excel(name = "午餐补助")
    private BigDecimal lunchSalary;

    /** 交通补助 */
    @Excel(name = "交通补助")
    private BigDecimal trafficSalary;

    /** 应发工资 */
    @Excel(name = "应发工资")
    private BigDecimal allSalary;

    /** 养老金基数 */
    @Excel(name = "养老金基数")
    private BigDecimal pensionBase;

    /** 养老金比率 */
    @Excel(name = "养老金比率")
    private BigDecimal pensionPercent;

    /** 医疗基数 */
    @Excel(name = "医疗基数")
    private BigDecimal medicalBase;

    /** 医疗保险比率 */
    @Excel(name = "医疗保险比率")
    private BigDecimal medicalPercent;

    /** 公积金基数 */
    @Excel(name = "公积金基数")
    private BigDecimal accumulationFundBase;

    /** 公积金比率 */
    @Excel(name = "公积金比率")
    private BigDecimal accumulationFundPercent;

    /** 启用时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "启用时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date effectiveDate;

    /** 有效状态 */
    @Excel(name = "有效状态")
    private String status;

    public void setEmployeeSalaryId(Long employeeSalaryId) 
    {
        this.employeeSalaryId = employeeSalaryId;
    }

    public Long getEmployeeSalaryId() 
    {
        return employeeSalaryId;
    }
    public void setEmployeeId(Long employeeId) 
    {
        this.employeeId = employeeId;
    }

    public Long getEmployeeId() 
    {
        return employeeId;
    }
    public void setEmployeeName(String employeeName) 
    {
        this.employeeName = employeeName;
    }

    public String getEmployeeName() 
    {
        return employeeName;
    }
    public void setBasicSalary(BigDecimal basicSalary) 
    {
        this.basicSalary = basicSalary;
    }

    public BigDecimal getBasicSalary() 
    {
        return basicSalary;
    }
    public void setBonus(BigDecimal bonus) 
    {
        this.bonus = bonus;
    }

    public BigDecimal getBonus() 
    {
        return bonus;
    }
    public void setLunchSalary(BigDecimal lunchSalary) 
    {
        this.lunchSalary = lunchSalary;
    }

    public BigDecimal getLunchSalary() 
    {
        return lunchSalary;
    }
    public void setTrafficSalary(BigDecimal trafficSalary) 
    {
        this.trafficSalary = trafficSalary;
    }

    public BigDecimal getTrafficSalary() 
    {
        return trafficSalary;
    }
    public void setAllSalary(BigDecimal allSalary) 
    {
        this.allSalary = allSalary;
    }

    public BigDecimal getAllSalary() 
    {
        return allSalary;
    }
    public void setPensionBase(BigDecimal pensionBase) 
    {
        this.pensionBase = pensionBase;
    }

    public BigDecimal getPensionBase() 
    {
        return pensionBase;
    }
    public void setPensionPercent(BigDecimal pensionPercent) 
    {
        this.pensionPercent = pensionPercent;
    }

    public BigDecimal getPensionPercent() 
    {
        return pensionPercent;
    }
    public void setMedicalBase(BigDecimal medicalBase) 
    {
        this.medicalBase = medicalBase;
    }

    public BigDecimal getMedicalBase() 
    {
        return medicalBase;
    }
    public void setMedicalPercent(BigDecimal medicalPercent) 
    {
        this.medicalPercent = medicalPercent;
    }

    public BigDecimal getMedicalPercent() 
    {
        return medicalPercent;
    }
    public void setAccumulationFundBase(BigDecimal accumulationFundBase) 
    {
        this.accumulationFundBase = accumulationFundBase;
    }

    public BigDecimal getAccumulationFundBase() 
    {
        return accumulationFundBase;
    }
    public void setAccumulationFundPercent(BigDecimal accumulationFundPercent) 
    {
        this.accumulationFundPercent = accumulationFundPercent;
    }

    public BigDecimal getAccumulationFundPercent() 
    {
        return accumulationFundPercent;
    }
    public void setEffectiveDate(Date effectiveDate) 
    {
        this.effectiveDate = effectiveDate;
    }

    public Date getEffectiveDate() 
    {
        return effectiveDate;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("employeeSalaryId", getEmployeeSalaryId())
            .append("employeeId", getEmployeeId())
            .append("employeeName", getEmployeeName())
            .append("basicSalary", getBasicSalary())
            .append("bonus", getBonus())
            .append("lunchSalary", getLunchSalary())
            .append("trafficSalary", getTrafficSalary())
            .append("allSalary", getAllSalary())
            .append("pensionBase", getPensionBase())
            .append("pensionPercent", getPensionPercent())
            .append("medicalBase", getMedicalBase())
            .append("medicalPercent", getMedicalPercent())
            .append("accumulationFundBase", getAccumulationFundBase())
            .append("accumulationFundPercent", getAccumulationFundPercent())
            .append("effectiveDate", getEffectiveDate())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
